//package com.tom.jmgd.controller;
//
//
//import com.tom.jmgd.common.QRCodeUtil;
//import com.tom.jmgd.core.entity.ResultEntity;
//import com.tom.jmgd.core.enums.ResultEnum;
//import com.tom.jmgd.dao.checkActivity2Dao;
//import com.tom.jmgd.dao.checkActivityDao;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.InputStream;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//import java.util.UUID;
//
//@RestController
//@Slf4j
//@RequestMapping("/sale/checkActivity")
//public class checkActivityController {
//    @Autowired
//    checkActivityDao activityDao;
//    @Autowired
//    checkActivity2Dao activity2Dao;
//    @PostMapping("getMemcardInfo")
//    public ResultEntity getMemcardInfo(String telephoneNum) {
//        Map<String,String> mem = activityDao.getMemcardInfo(telephoneNum);
//        if(mem == null) {
//            return new ResultEntity(ResultEnum.ACCOUNT_FREEZED,"没有此会员");
//        }
//        else {
//            ///脱敏
////            String memName = DesensitizeUtil.left(mem.get("cardholder"),1);
////            mem.put("cardholder",memName);
//            return new ResultEntity(ResultEnum.SUCCESS,null);
//        }
//    }
//
//    @PostMapping("getMemcardConsume")
//    public ResultEntity getMemcardConsume(String telephoneNum) {
//        List<Map<String,String>> consume = activityDao.getMemcardConsume(telephoneNum);
//        return new ResultEntity(ResultEnum.SUCCESS,"获取成功");
//    }
//
//    /**
//     * 生成二维码
//     * @param id 活动ID
//     * @return 返回是否成功创建二维码
//     */
//
//    private String getActivityQrCode(String id) {
//        boolean result = false;
//        String urlBase64 = null;
//        if(StringUtils.isNotEmpty(id)) {
//            try {
//                String uuid = UUID.randomUUID().toString().replace("-", "");
//                Map<String,String> act = activity2Dao.getActivitySignup(id);
//                if(act != null && StringUtils.isNotEmpty(act.get("busno"))) {
//                    ////生成二维码
//                    String url = "http://yuns.jmgdyf.com/api/wxLoginExt/redirectToWeixin?signupType=CUSTOMER&activitySignUpID="+id;
//                    urlBase64 = QRCodeUtil.generateQrCodeBase64(url,"测试");
//
//                    ///上传至OSS
//                    //MultipartFile multFile = new MockMultipartFile("qrCode.jpg",is);
//                    //ResponseResult<AttachmentModel> resp = ossController.upload(multFile,false,"","qrCode.jpg",false);
//
//                    //AttachmentModel att = resp.getData();
//                    ///更新附件表
//                    int num = activity2Dao.InsertAttachment(uuid,id,"qr_code",act.get("creater"),0,urlBase64,null,null,null,"activity_signup");
//                    activity2Dao.updateActivitySignup(id,url);
//                    result = true;
//                }
//                return urlBase64;
//            }catch (Exception e) {
//                e.printStackTrace();
//                return null;
//            }
//        }
//        return urlBase64;
//    }
//    /**
//     * 生成支援二维码
//     * @param id 活动ID
//     * @return 返回是否成功创建二维码
//     */
//
//    private String getActSupportQrCode(String id) {
//        boolean result = false;
//        String urlBase64 = null;
//        if(StringUtils.isNotEmpty(id)) {
//            try {
//                String uuid = UUID.randomUUID().toString().replace("-", "");
//                Map<String,String> act = activity2Dao.getActivitySignup(id);
//                if(act != null && StringUtils.isNotEmpty(act.get("busno"))) {
//                    ////生成二维码
//                    String url = "http://yuns.jmgdyf.com/api/wxLoginExt/redirectToWeixin?signupType=SUPPORT&activitySignUpID="+id;
//                    urlBase64 = QRCodeUtil.generateQrCodeBase64(url,"测试");
//                    //InputStream is = QrCodeUtil.createQrCode(url);
//
//                    ///上传至OSS
//                    //MultipartFile multFile = new MockMultipartFile("supportQrCode.jpg",is);
//                    //ResponseResult<AttachmentModel> resp = ossController.upload(multFile,false,"","supportQrCode.jpg",false);
//
//                    //AttachmentModel att = resp.getData();
//                    ///更新附件表
//                    int num = activity2Dao.InsertAttachment(uuid,id,"support_qr_code",act.get("creater"),0,urlBase64,null,null,null,"activity_signup");
//                    result = true;
//                }
//
//            }catch (Exception e) {
//                e.printStackTrace();
//                return null;
//            }
//        }
//        return urlBase64;
//    }
//    private List<Map<String,String>> getBusList(String busnoLimits) {
//        String busno = busnoLimits;
//        List<Map<String,String>> busList=null;
//        if(StringUtils.equals("全部",busno)) {
//            busList = activity2Dao.getBusInfo();
//        }else {
//            busList = new ArrayList<>();
//            if(StringUtils.isNotEmpty(busno)) {
//                String[] busArr = busno.split(",");
//                for (int i = 0; i < busArr.length; i++) {
//                    Map<String, String> bus = activity2Dao.getBusInfoByNo(busArr[i].trim());
//                    if(bus != null) {
//                        busList.add(bus);
//                    }
//                    else {
//                        log.error("-----门店为空：" + busArr[i]);
//                    }
//                }
//            }
//        }
//        return busList;
//    }
//    @GetMapping("getActivity")
//    public void createActivity() {
//        ////去海典取签到表
//        try {
//            List<Map<String,String>> signUpList = activityDao.getSignUpData();
//            List<Map<String,String>> busList;
//            String uuid;
//            int count;
//            for(Map<String,String> signup:signUpList) {
//                if(StringUtils.isNotEmpty(signup.get("item_no"))) {
//                    busList = getBusList(signup.get("busno_limits"));
//                    for(Map<String,String> bus : busList) {
//                        ///判断活动是否已经存在，如果存在则跳过
//                        count = activity2Dao.getActivityExists(signup.get("item_no"),bus.get("id"),Integer.valueOf(signup.get("item_rowno")));
//                        if(count == 0) {
//                            uuid = UUID.randomUUID().toString().replace("-", "");
//                            count = activity2Dao.insertActivitySignup(uuid,
//                                    bus.get("busno") + "-" +signup.get("item_no") + "-" + signup.get("item_name")  ,
//                                    signup.get("item_no") + "-" + signup.get("item_rowno"),
//                                    signup.get("item_no"),
//                                    signup.get("item_name"),
//                                    bus.get("id"),
//                                    "",
//                                    signup.get("item_type"),
//                                    signup.get("period"),
//                                    Integer.valueOf(signup.get("item_rowno")),
//                                    signup.get("begindate"),
//                                    signup.get("enddate"));
//                            ///创建成功，添加顾客和支援人员的二维码
//                            if (count == 1) {
//                                /////顾客签到二维码
//                                if(getActivityQrCode(uuid)==null) {
//                                    throw new Exception("创建顾客二维码失败");
//                                }
//                                ////支援签到二维码
//                                if(getActSupportQrCode(uuid)==null) {
//                                    throw new Exception("创建支援二维码失败");
//                                }
//                            }
//                        }
//                        else {
//                            uuid = activity2Dao.getActivityExistsID(signup.get("item_no"),bus.get("id"),Integer.valueOf(signup.get("item_rowno")));
//                            /////顾客签到二维码
//                            count = activity2Dao.getAttachmentExists(uuid,"qr_code");
//                            if(count == 0) {
//                                if (getActivityQrCode(uuid)==null) {
//                                    log.error("创建顾客二维码失败");
//                                }
//                            }
//                            ////支援签到二维码
//                            count = activity2Dao.getAttachmentExists(uuid,"support_qr_code");
//                            if(count == 0) {
//                                if (getActSupportQrCode(uuid)==null) {
//                                    log.error("创建支援二维码失败");
//                                }
//                            }
//                        }
//
//                    }
//                }
//            }
//        }catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//    @GetMapping("getActivityQrCode")
//    public void createActivityQrCode(String activityCode) {
//        List<Map<String,String>> signUpList = activity2Dao.getActivityByActivityCode(activityCode);
//        int count;
//        for(Map<String,String> signup:signUpList) {
//            /////顾客签到二维码
//            count = activity2Dao.getAttachmentExists(signup.get("id"),"qr_code");
//            if(count == 0) {
//                if (getActivityQrCode(signup.get("id"))==null) {
//                    log.error("创建顾客二维码失败");
//                }
//            }
//            ////支援签到二维码
//            count = activity2Dao.getAttachmentExists(signup.get("id"),"support_qr_code");
//            if(count == 0) {
//                if (getActSupportQrCode(signup.get("id"))==null) {
//                    log.error("创建支援二维码失败");
//                }
//            }
//        }
//
//
//    }
//    /**
//     * 因为根据openid获取的会员信息有可能错误，所以报名了，提供一方法去更新报名信息
//     * @param jsonData
//     * jsonData {
//     *     id:XXX,
//     *     telephoneNum:XXX
//     *     cardholder:XXX
//     * }
//     * @return
//     */
//    @GetMapping("/updateActivitySignUpLs")
//    public String updateActivitySignUpLs(@RequestBody Map<String,String> jsonData) {
//        String id = jsonData.get("id");
//        String resultStr = "更新失败";
//        if(StringUtils.isNotEmpty(id)) {
//            String telephoneNum = jsonData.get("telephoneNum");
//            String cardholder = jsonData.get("cardholder");
//            if(StringUtils.isEmpty(telephoneNum) || StringUtils.isEmpty(cardholder)) {
//                resultStr = "更新失败，手机号或报名人为空";
//            }else {
//                int count = activity2Dao.updateActivitySignupLs(id,telephoneNum,cardholder);
//                if(count > 0 ) {
//                    resultStr = "OK";
//                }
//            }
//        }else {
//            resultStr = "更新失败,更新ID为空";
//        }
//        return resultStr;
//    }
//}
